Implement ResourceCapsule CRD and Operator with GitOps support#19
Merged
Conversation
Co-authored-by: j143 <53068787+j143@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] as KUBERNETES_INTEGRATION.md, shall we implement. document the crd implementation as well.
1. Custom Resource Definitions (CRDs)
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: resourcecapsules.capsules.docker.io
s...
Implement ResourceCapsule CRD and Operator with GitOps support
Aug 2, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements a complete Kubernetes Custom Resource Definition (CRD) and operator solution for ResourceCapsules, extending the existing basic-docker-engine with native Kubernetes integration and GitOps workflow support.
🚀 Key Features Implemented
ResourceCapsule CRD
Operator Implementation
CLI Integration
New
k8s-crdcommand suite providing:GitOps Ready
🔧 Technical Implementation
Core Components
crd_types.go- Go structs with full DeepCopy support for CRD APIcrd_operator.go- ResourceCapsule operator with event handlingk8s/crd-resourcecapsule.yaml- CRD definition with OpenAPI schemakubernetes.gowith dynamic client and CRD management functionsTesting & Validation
demo-crd.sh) showcasing end-to-end functionalityExample Usage
🎯 Benefits
k8s-capsulecommands remain unchanged📋 Files Modified/Added
k8s/crd-resourcecapsule.yaml- CRD definitioncrd_types.go- Go API types for ResourceCapsule CRDcrd_operator.go- ResourceCapsule operator implementationcrd_test.go- Tests for CRD functionalitykubernetes.go- Added CRD management functionsmain.go- Added k8s-crd CLI commands.github/workflows/kind.yml- Updated with CRD testingKUBERNETES_INTEGRATION.md- Updated documentationdemo-crd.sh- End-to-end demonstration scriptThis implementation addresses all requirements from the issue: CRD implementation, operator functionality, automated versioning, rollback capabilities, and GitOps integration, while maintaining pragmatic decisions and minimal complexity.
💬 Share your feedback on Copilot coding agent for the chance to win a $200 gift card! Click here to start the survey.